home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / windows4 / pwl50x.zip / WINDEMO2.BAS < prev    next >
BASIC Source File  |  1992-03-10  |  3KB  |  112 lines

  1. '    WINDEMO2.BAS - ProWindows(tm) LITE Demo Program
  2.  
  3. REM $DYNAMIC        ' <= SET UP QUICKBASIC FOR DYNAMIC MEMORY USAGE
  4. DEFINT A-Z          ' <= DEFAULT TO INTEGERS
  5.  
  6. REM $INCLUDE: 'LITE.BI'       ' <= REQUIRED FOR WINDOW CALLS
  7.  
  8. ' === DEFINE A FEW CONSTANTS
  9.  
  10. CONST WINMEMSIZE% = 8191      ' <= VIRTUAL WINDOW MEMORY SIZE
  11. CONST SCRNMEMSIZE% = 4096     ' <= SCREEN BUFFER MEMORY SIZE
  12. CONST MAXWINDOWS% = 30        ' <= MAXIMUM NUMBER OF WINDOWS
  13.     
  14.     CLEAR , , 4096           ' <= SET ASIDE ADDITIONAL "STACK" SPACE
  15.  
  16.     LOCATE 1, 1
  17.  
  18.     PreInit                  ' <= PRE-INITIALIZE THE WINDOW MANAGER
  19.  
  20. ' === DIMENSION GLOBAL ARRAYS WITH ABOVE DEFINED CONSTANTS
  21.                                          
  22.     REDIM SHARED VirMem(WINMEMSIZE) AS INTEGER    ' <= VIRTUAL MEMORY
  23.     REDIM SHARED scrn(SCRNMEMSIZE) AS INTEGER     ' <= SCREEN MEMORY
  24.     REDIM SHARED vcb(MAXWINDOWS) AS vircb         ' <= VIRTUAL WINDOW INFO
  25.     REDIM SHARED wcb(MAXWINDOWS) AS wincb         ' <= DISPLAYED WINDOW INFO
  26.     REDIM SHARED cursor(MAXWINDOWS) AS cursorTYPE ' <= CURSOR CONTROL ARRAY
  27.     REDIM SHARED wcbndx(MAXWINDOWS) AS INTEGER    ' <= LIST OF HANDLES
  28.     
  29.     InitPro                  ' <= INITIALIZE THE WINDOW MANAGER
  30.  
  31.     ReCycleMode 1            ' <= ENABLE "VIDEO RECYCLING"
  32.     
  33.     UseDrivers 0, 0, 1       ' <= INSTALL ANY NEEDED DRIVERS
  34.  
  35. REM  setBWmode 1              ' <= SWITCH TO MONOCHROME MODE
  36.  
  37. ' === DEFINE THE "GLOBAL WINDOW OPTIONS"
  38.  
  39.     GlobalOptions = SELECTABLE
  40.     
  41.     FillScreen 1, 1, MAXROWS, MAXCOLS, 23, 250, SNOW
  42.  
  43.     Notice                   ' <= COPYRIGHT NOTICE (SHAREWARE VERSION ONLY)
  44.     Win1 = CurrentWindow     ' <= GET THE WINDOW'S HANDLE
  45.  
  46.     CloneWindow Win1         ' <= CLONE "WIN1"
  47.     Win2 = CurrentWindow     ' <= GET THE WINDOW'S HANDLE
  48.  
  49.     CloneWindow Win1         ' <= CLONE "WIN1"
  50.     Win3 = CurrentWindow     ' <= GET THE WINDOW'S HANDLE
  51.  
  52.     DisplayWindow Win2, 13, 37, 12, 24      ' <= DISPLAY WINDOW #2
  53.     DisplayWindow Win3, 8, 50, 12, 24       ' <= WINDOW #2
  54.  
  55.     row = 1: col = 1: WinSize = 3
  56.  
  57.     WHILE INKEY$ = ""
  58.  
  59.         SELECT CASE WinSize
  60.             CASE 3
  61.                 size = 3
  62.             CASE 12
  63.                 size = -3
  64.             CASE ELSE
  65.         END SELECT
  66.  
  67.         SELECT CASE row
  68.             CASE 1
  69.                 cdirection = 1
  70.             CASE 9
  71.                 rdirection = 0
  72.                 cdirection = -1
  73.             CASE ELSE
  74.         END SELECT
  75.  
  76.         col = col + cdirection
  77.  
  78.         SELECT CASE col
  79.             CASE 1
  80.                 rdirection = -1
  81.                 cdirection = 0
  82.             CASE 55
  83.                 cdirection = 0
  84.                 rdirection = 1
  85.             CASE ELSE
  86.         END SELECT
  87.  
  88.         row = row + rdirection
  89.  
  90.         IF (row = 1) AND (col = 1) THEN
  91.             rdirection = 0
  92.             cdirection = 0
  93.         END IF
  94.  
  95.         RefreshMode DISABLE           ' <= DISABLE WINDOW REFRESHING
  96.  
  97.         ReAlignWindow Win2, row, col  ' <= ADJUST WINDOW VIEWPORT
  98.         ReAlignWindow Win3, row, col
  99.  
  100.         RefreshMode ENABLE            ' <= RE-ENABLE WINDOW REFRESHING
  101.  
  102.         RefreshWindow Win2            ' <= UPDATE THE WINDOW(S)
  103.  
  104.     WEND
  105.  
  106.     CloseWindow Win2         ' <= CLOSE OUR WINDOWS
  107.     CloseWindow Win3
  108.  
  109.        
  110.     
  111.  
  112.